export {}

// 泛型接口

//对象中有两个方法  一个是获取id   一个是获取id数组   类型都是一致的

// interface IdFnObj {
//   id(): number
//   ids(): number[]
// }
// 为了拓展类型, 可以使用泛型 兼容不同的类型

interface IdFnObj<T> {
  id(): T
  ids(): T[]
}

let obj: IdFnObj<string> = {
  id() {
    return 'aa'
  },
  ids() {
    return ['aaa']
  }
}

let obj1: IdFnObj<number> = {
  id() {
    return 1111
  },
  ids() {
    return [1,2,3]
  }
}

//内置了很多的泛型接口

const arr = [1,2,3,4,5]

arr.push(6)

arr.map((item) => {
  console.log(item)
})